package gov.gfbzb.advice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import gov.gfbzb.advice.controller.dto.AdviceDTO;
import gov.gfbzb.advice.controller.vo.AdviceVO;
import gov.gfbzb.advice.entity.Advice;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;
import java.util.concurrent.CompletableFuture;

/**
 * IAdviceService 服务类
 * @author 小宇
 * @since 2025-07-05
 */
public interface IAdviceService extends IService<Advice> {

    /**
     * 分页查询所有咨询
     * @param pageNum 页码
     * @param pageSize 页大小
     * @param viewCount 是否查看浏览次数
     * @param county 区县
     * @param isPass 是否审核通过
     * @param keyWord 关键词——手机号、身份证号
     * @return 咨询列表
     */
    Map<String, Object> pageCondition(Integer pageNum, Integer pageSize, Boolean viewCount, String county, String keyWord,String cardOrPhone, Boolean isPass);

    /**
     * 保存用户问题并发起流程————获取并保存建议
     * @param adviceDTO 建议DTO
     */
    CompletableFuture<Void> saveAndGetAdvice(AdviceDTO adviceDTO);

    /**
     * 获取并保存建议————异步进行
     * @param questionNo 唯一问题码
     * @param question 咨询问题
     */
    CompletableFuture<Void> getAndSaveAdvice(String questionNo , String question);
}
